[INFO] cloning repository https://github.com/Northcode/rustTokenizer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Northcode/rustTokenizer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNorthcode%2FrustTokenizer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNorthcode%2FrustTokenizer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f9f2754f05acdf9ff495fab0b112dad9f33761b5
[INFO] checking Northcode/rustTokenizer against master#9610dfe5a9a731ced1ea4923ecbd0c57fe367898 for beta-170-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNorthcode%2FrustTokenizer" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Northcode/rustTokenizer on toolchain 9610dfe5a9a731ced1ea4923ecbd0c57fe367898
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Northcode/rustTokenizer
[INFO] finished tweaking git repo https://github.com/Northcode/rustTokenizer
[INFO] tweaked toml for git repo https://github.com/Northcode/rustTokenizer written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Northcode/rustTokenizer already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3a25d033df49533fd4d380471a70a8dbcec813ab9f9bb13885f42037a6f7dc1d
[INFO] running `Command { std: "docker" "start" "-a" "3a25d033df49533fd4d380471a70a8dbcec813ab9f9bb13885f42037a6f7dc1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3a25d033df49533fd4d380471a70a8dbcec813ab9f9bb13885f42037a6f7dc1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3a25d033df49533fd4d380471a70a8dbcec813ab9f9bb13885f42037a6f7dc1d", kill_on_drop: false }`
[INFO] [stdout] 3a25d033df49533fd4d380471a70a8dbcec813ab9f9bb13885f42037a6f7dc1d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2850cbb7644e5362b35456b04fa83ad157dcff76a4d631e10b00d65de19ffbe3
[INFO] running `Command { std: "docker" "start" "-a" "2850cbb7644e5362b35456b04fa83ad157dcff76a4d631e10b00d65de19ffbe3", kill_on_drop: false }`
[INFO] [stderr]    Compiling version_check v0.1.4
[INFO] [stderr]     Checking libc v0.2.43
[INFO] [stderr]     Checking ucd-util v0.1.1
[INFO] [stderr]    Compiling regex v1.0.2
[INFO] [stderr]     Checking utf8-ranges v1.0.0
[INFO] [stderr]     Checking regex-syntax v0.6.2
[INFO] [stderr]    Compiling lazy_static v1.1.0
[INFO] [stderr]     Checking memchr v2.0.1
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking aho-corasick v0.6.6
[INFO] [stderr]     Checking tokenizer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: no rules expected the token `->`
[INFO] [stdout]    --> src/lib.rs:249:35
[INFO] [stdout]     |
[INFO] [stdout] 249 | ...                   _o -> PT_(T_::Op(_)), 
[INFO] [stdout]     |                          ^^ no rules expected this token in macro call
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/rtok/parser.rs:169:1
[INFO] [stdout]     |
[INFO] [stdout] 169 | macro_rules! reduction {
[INFO] [stdout]     | ---------------------- when calling this macro
[INFO] [stdout]     |
[INFO] [stdout] note: while trying to match meta-variable `$pat:pat`
[INFO] [stdout]    --> src/rtok/parser.rs:170:19
[INFO] [stdout]     |
[INFO] [stdout] 170 |     ($inner:expr; $pat:pat) => {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: no rules expected the token `->`
[INFO] [stdout]    --> src/lib.rs:259:35
[INFO] [stdout]     |
[INFO] [stdout] 259 | ...                   _o -> PT_(T_::Op(_)), 
[INFO] [stdout]     |                          ^^ no rules expected this token in macro call
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/rtok/parser.rs:169:1
[INFO] [stdout]     |
[INFO] [stdout] 169 | macro_rules! reduction {
[INFO] [stdout]     | ---------------------- when calling this macro
[INFO] [stdout]     |
[INFO] [stdout] note: while trying to match meta-variable `$pat:pat`
[INFO] [stdout]    --> src/rtok/parser.rs:170:19
[INFO] [stdout]     |
[INFO] [stdout] 170 |     ($inner:expr; $pat:pat) => {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rtok/tokenizer.rs:28:47
[INFO] [stdout]    |
[INFO] [stdout] 28 |         postprocfns: HashMap<TokenTypeId, Box<Fn(Token) -> T>>
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |         postprocfns: HashMap<TokenTypeId, Box<dyn Fn(Token) -> T>>
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rtok/parser.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 |     reductions: Vec<(Box<Fn(&Vec<ParseValue<T,N>>) -> bool>, 
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     reductions: Vec<(Box<dyn Fn(&Vec<ParseValue<T,N>>) -> bool>, 
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rtok/parser.rs:15:26
[INFO] [stdout]    |
[INFO] [stdout] 15 |                      Box<Fn(&mut Vec<ParseValue<T,N>>) -> Result<ParseValue<T,N>, ParseError>>)>
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |                      Box<dyn Fn(&mut Vec<ParseValue<T,N>>) -> Result<ParseValue<T,N>, ParseError>>)>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rtok/tokenizer.rs:40:85
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add_postprocfn_boxed(&mut self, for_id: TokenTypeId, postprocfn: Box<Fn(Token) -> T>) -> () {
[INFO] [stdout]    |                                                                                     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add_postprocfn_boxed(&mut self, for_id: TokenTypeId, postprocfn: Box<dyn Fn(Token) -> T>) -> () {
[INFO] [stdout]    |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/lib.rs:71:10
[INFO] [stdout]    |
[INFO] [stdout] 71 |         };
[INFO] [stdout]    |          ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rtok::parser::ParseValue::Token as PT_`
[INFO] [stdout]    --> src/lib.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 233 |             use rtok::parser::ParseValue::Token as PT_;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rtok::parser::ParseValue::Reduced as PR_`
[INFO] [stdout]    --> src/lib.rs:234:17
[INFO] [stdout]     |
[INFO] [stdout] 234 |             use rtok::parser::ParseValue::Reduced as PR_;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rtok/tokenizer.rs:28:47
[INFO] [stdout]    |
[INFO] [stdout] 28 |         postprocfns: HashMap<TokenTypeId, Box<Fn(Token) -> T>>
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |         postprocfns: HashMap<TokenTypeId, Box<dyn Fn(Token) -> T>>
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rtok/parser.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 |     reductions: Vec<(Box<Fn(&Vec<ParseValue<T,N>>) -> bool>, 
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     reductions: Vec<(Box<dyn Fn(&Vec<ParseValue<T,N>>) -> bool>, 
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rtok/parser.rs:15:26
[INFO] [stdout]    |
[INFO] [stdout] 15 |                      Box<Fn(&mut Vec<ParseValue<T,N>>) -> Result<ParseValue<T,N>, ParseError>>)>
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |                      Box<dyn Fn(&mut Vec<ParseValue<T,N>>) -> Result<ParseValue<T,N>, ParseError>>)>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/rtok/tokenizer.rs:40:85
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add_postprocfn_boxed(&mut self, for_id: TokenTypeId, postprocfn: Box<Fn(Token) -> T>) -> () {
[INFO] [stdout]    |                                                                                     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |         pub fn add_postprocfn_boxed(&mut self, for_id: TokenTypeId, postprocfn: Box<dyn Fn(Token) -> T>) -> () {
[INFO] [stdout]    |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/rtok/parser.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut new_vec = new_input;
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Matcher` is never constructed
[INFO] [stdout]   --> src/rtok/tokenizer.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct Matcher {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rtok/tokenizer.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl Matcher {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 87 |     pub fn new(pattern: Regex, to_type: TokenTypeId) -> Matcher {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `First`, `Longest`, and `Shortest` are never constructed
[INFO] [stdout]   --> src/rtok/tokenizer.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub enum MatcherPriority {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 94 |     First,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 95 |     Longest,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 96 |     Shortest,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tokenizer` is never constructed
[INFO] [stdout]   --> src/rtok/tokenizer.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct Tokenizer {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `make`, `add_matcher`, and `tokenize` are never used
[INFO] [stdout]    --> src/rtok/tokenizer.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl Tokenizer {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 105 |     pub fn new(priority: MatcherPriority) -> Tokenizer {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn make(priority: MatcherPriority, matchers: Vec<(&str, TokenTypeId)>) -> Tokenizer {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn add_matcher(&mut self, matcher: Matcher) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn tokenize<'a>(&self, input: &'a String) -> Vec<Token<'a>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_postprocfn_boxed`, and `add_postprocfn` are never used
[INFO] [stdout]   --> src/rtok/tokenizer.rs:36:16
[INFO] [stdout]    |
[INFO] [stdout] 35 |     impl <T> BasicPostProcessor<T> {
[INFO] [stdout]    |     ------------------------------ associated items in this implementation
[INFO] [stdout] 36 |         pub fn new() -> BasicPostProcessor<T> {
[INFO] [stdout]    |                ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |         pub fn add_postprocfn_boxed(&mut self, for_id: TokenTypeId, postprocfn: Box<Fn(Token) -> T>) -> () {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |         pub fn add_postprocfn<F>(&mut self, for_id: TokenTypeId, postprocfn: F) -> ()
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Token` and `Reduced` are never constructed
[INFO] [stdout]  --> src/rtok/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum ParseValue<T,N> {
[INFO] [stdout]   |          ---------- variants in this enum
[INFO] [stdout] 4 |     Token(T),
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 5 |     Reduced(N),
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ParseValue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]  --> src/rtok/parser.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Parser<T,N> {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ParseAction` is never used
[INFO] [stdout]   --> src/rtok/parser.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 18 | enum ParseAction {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `EOF`, `NoActions`, `InvalidReduction`, `InvalidToken`, and `NotImpl` are never constructed
[INFO] [stdout]   --> src/rtok/parser.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum ParseError {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 26 |     EOF, NoActions, InvalidReduction(usize), InvalidToken, NotImpl
[INFO] [stdout]    |     ^^^  ^^^^^^^^^  ^^^^^^^^^^^^^^^^         ^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/rtok/parser.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl <T,N> Parser<T,N> {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 30 |
[INFO] [stdout] 31 |     pub fn new(input: Vec<T>) -> Parser<T,N> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn push_input(&mut self, new_input: Vec<T>) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn shift(&mut self) -> Result<(), ParseError> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn add_rule<C,R>(&mut self, checker: C, reduction: R)
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn reduce(&mut self, idx: usize) -> Result<(), ParseError> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn determine_action(&self) -> ParseAction {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn step(&mut self) -> Result<bool, ParseError> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_stack` is never used
[INFO] [stdout]    --> src/rtok/parser.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl <T,N> Parser<T,N> where T: std::fmt::Display, N : std::fmt::Display {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] 104 |     pub fn print_stack(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug_print_stack` is never used
[INFO] [stdout]    --> src/rtok/parser.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl <T,N> Parser<T,N> where T: std::fmt::Debug, N : std::fmt::Debug {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] 113 |     pub fn debug_print_stack(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tokenizer` (lib test) due to 3 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "2850cbb7644e5362b35456b04fa83ad157dcff76a4d631e10b00d65de19ffbe3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2850cbb7644e5362b35456b04fa83ad157dcff76a4d631e10b00d65de19ffbe3", kill_on_drop: false }`
[INFO] [stdout] 2850cbb7644e5362b35456b04fa83ad157dcff76a4d631e10b00d65de19ffbe3
